home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / comm / mail / Mutt089src.lha / Mutt-0.89i-AMIGA / src / mime.h < prev    next >
C/C++ Source or Header  |  1998-01-28  |  2KB  |  69 lines

  1. /*
  2.  * Copyright (C) 1996-8 Michael R. Elkins <me@cs.hmc.edu>
  3.  * 
  4.  *     This program is free software; you can redistribute it and/or modify
  5.  *     it under the terms of the GNU General Public License as published by
  6.  *     the Free Software Foundation; either version 2 of the License, or
  7.  *     (at your option) any later version.
  8.  * 
  9.  *     This program is distributed in the hope that it will be useful,
  10.  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  *     GNU General Public License for more details.
  13.  * 
  14.  *     You should have received a copy of the GNU General Public License
  15.  *     along with this program; if not, write to the Free Software
  16.  *     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  */ 
  18.  
  19. /* Content-Type */
  20. enum
  21. {
  22.   TYPEOTHER,
  23.   TYPEAUDIO,
  24.   TYPEAPPLICATION,
  25.   TYPEIMAGE,
  26.   TYPEMESSAGE,
  27.   TYPEMULTIPART,
  28.   TYPETEXT,
  29.   TYPEVIDEO
  30. };
  31.  
  32. /* Content-Transfer-Encoding */
  33. enum
  34. {
  35.   ENCOTHER,
  36.   ENC7BIT,
  37.   ENC8BIT,
  38.   ENCQUOTEDPRINTABLE,
  39.   ENCBASE64,
  40.   ENCBINARY
  41. };
  42.  
  43. /* Content-Disposition values */
  44. enum
  45. {
  46.   DISPINLINE,
  47.   DISPATTACH,
  48.   DISPFORMDATA
  49. };
  50.  
  51. /* MIME encoding/decoding global vars */
  52. extern int Index_hex[];
  53. extern int Index_64[];
  54. extern char Base64_chars[];
  55.  
  56. #define hexval(c) Index_hex[(int)(c)]
  57. #define base64val(c) Index_64[(int)(c)]
  58.  
  59. #define is_multipart(x) \
  60.     ((x)->type == TYPEMULTIPART \
  61.      || ((x)->type == TYPEMESSAGE && (!strcasecmp((x)->subtype, "rfc822") \
  62.                       || !strcasecmp((x)->subtype, "news"))))
  63.  
  64. extern const char *BodyTypes[];
  65. extern const char *BodyEncodings[];
  66.  
  67. #define TYPE(X) BodyTypes[(X)]
  68. #define ENCODING(X) BodyEncodings[(X)]
  69.